Skip to content

Comments

libfuse: split build systems and simplify package#3452

Merged
michaelkuhn merged 6 commits intodevelopfrom
alby/libfuse-split-buildsystem
Feb 23, 2026
Merged

libfuse: split build systems and simplify package#3452
michaelkuhn merged 6 commits intodevelopfrom
alby/libfuse-split-buildsystem

Conversation

@albestro
Copy link
Contributor

Changes:

  • split meson and autotools buildsystem, which streamlines and simplifies the package recipe
  • autotools: do not depend anymore on meson
  • autotools: drop manual management of autoreconf and its parameters

TODO:

  • autotools do not have access anymore to the meson specific "default_library" variant

note: this refactoring started because of a problem I had with autotools, which after this work turns out to not be a problem anymore.

@albestro albestro force-pushed the alby/libfuse-split-buildsystem branch from 647e98e to 0bfc8cf Compare February 17, 2026 12:36
@albestro
Copy link
Contributor Author

As said above, before this refactoring I had a problem. Specifically, the problem happens building libfuse@2.9 (i.e. using autotools) and it shows up as

libtool: Version mismatch error.  This is libtool 2.5.4, but the
libtool: definition of this LT_INIT comes from libtool 2.4.6.
libtool: You should recreate aclocal.m4 with macros from libtool 2.5.4
libtool: and run autoconf again.

I don't know much about autotools build system, but from my investigation I'd say that this problem was due to the order of include paths -I. In particular, /usr/share/aclocal was given before libtool one, and it is reasonable to think that it ended up using macros from system provided libtool (it was actually 2.4.6), but with the executable of the build dependency (libtool 2.5.4)

BEFORE

==> [2026-02-18-09:26:08.164442] '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/autoconf-2.72-kknul26om4h7xx6ipw7geofwgjsjw4e7/bin/autoreconf' '-ivf'
'-I' '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/automake-1.18.1-utgdw2nmkydqcvpmshyykriyhwkjh4yq/share/aclocal'
'-I' '/usr/share/aclocal'
'-I' '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/gettext-1.0-xbic5b2j4mwqk3g6aawr7m67huta7np3/share/aclocal'
'-I' '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/libtool-2.5.4-hsdn3hoagdd7yhslxb2thawtzhumzw5o/share/aclocal'
'-I' '/capstor/store/cscs/cscs/csstaff/ialberto/alps/aarch64/sw-stack/view/share/aclocal' 
'-I' '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/pkgconf-2.5.1-ywb2le5cdfjhi35vouggocfc6hd4wsws/share/aclocal'

NOW (with force_autoreconf=True)

==> [2026-02-18-09:59:58.306306] '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/autoconf-2.72-kknul26om4h7xx6ipw7geofwgjsjw4e7/bin/autoreconf' '-ivf'
'-I' '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/gettext-1.0-xbic5b2j4mwqk3g6aawr7m67huta7np3/share/aclocal'
'-I' '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/libtool-2.5.4-hsdn3hoagdd7yhslxb2thawtzhumzw5o/share/aclocal'
'-I' '/usr/share/aclocal'

With this refactoring, the management is completely delegated to spack, who does the right thing. With the refactoring it works both with and without force_autoreconf, anyway I'd opt for not forcing it.

Copy link
Member

@michaelkuhn michaelkuhn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM and works for me (Fedora 43, GCC 15)

I needed to apply #3504 for libfuse@2 to compile, though.

@alalazo alalazo self-assigned this Feb 23, 2026
Copy link
Member

@alalazo alalazo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to merge if you're not waiting for further comments / reviews

@michaelkuhn michaelkuhn enabled auto-merge (squash) February 23, 2026 20:21
@michaelkuhn michaelkuhn merged commit 64ad216 into develop Feb 23, 2026
17 checks passed
@michaelkuhn michaelkuhn deleted the alby/libfuse-split-buildsystem branch February 23, 2026 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants